//------------------------------------------------------------------------------
//  此代码版权（除特别声明或在RRQMCore.XREF命名空间的代码）归作者本人若汝棋茗所有
//  源代码使用协议遵循本仓库的开源协议及附加协议，若本仓库没有设置，则按MIT开源协议授权
//  CSDN博客：https://blog.csdn.net/qq_40374647
//  哔哩哔哩视频：https://space.bilibili.com/94253567
//  Gitee源代码仓库：https://gitee.com/RRQM_Home
//  Github源代码仓库：https://github.com/RRQM
//  API首页：https://www.yuque.com/eo2w71/rrqm
//  交流QQ群：234762506
//  感谢您的下载和使用
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using SuperSocket.WebSocket.Server;
using System;
using System.Collections.Generic;

namespace SuperSocketWebSocketServiceDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            Start();
            Console.ReadKey();
        }

        static async void Start()
        {
            var host = WebSocketHostBuilder.Create().UseWebSocketMessageHandler(
            async (session, message) =>
            {
                await session.SendAsync(message.Message);
            }
        )
        .ConfigureAppConfiguration((hostCtx, configApp) =>
        {
            configApp.AddInMemoryCollection(new Dictionary<string, string>
            {
            { "serverOptions:name", "TestServer" },
            { "serverOptions:listeners:0:ip", "Any" },
            { "serverOptions:listeners:0:port", "7789" }
            });
        })
        .ConfigureLogging((hostCtx, loggingBuilder) =>
        {
            //loggingBuilder.AddConsole();
        })
        .Build();

            await host.RunAsync();
        }
    }
}
